/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package pwfkasse.logik;

import java.io.*;
import pwfkasse.PwfKasseView.*;
/**
 *
 * @author Hellraiser2
 */
public class Aktionen {
    
    
    /*
     *sucht in der Kundendatei nach einem speziellen Kunden
     *weitere Logik muss noch folgen
     */
   public Kunde kundeSuchen (){
        return new Kunde ();
    }


   /*
    * Methode soll in der Gui verwendet werden
    * muss noch gespeichert und serialisiert werden
   */
   public void kundeAnlegen (String name, String vorname, String strasse,
           int hausnummer, String ort,int plz, String telefon, String fax,
           String email, int kundenNummer, String erfasstAm, String geburtstag,
           double rabatt, double gutschein,double offenePosten, double limit){
      Kunde neuerKunde = new Kunde(name, vorname, strasse, hausnummer, ort, plz,
              telefon, fax, email, kundenNummer, erfasstAm, geburtstag, rabatt,
              gutschein, offenePosten, limit);
      try {
            ObjectOutputStream oout = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream("Kunde.dat")));
            oout.writeObject(neuerKunde);
            oout.close();
            ObjectInputStream oin = new ObjectInputStream(new BufferedInputStream(
                    new FileInputStream("Kunde.dat")));
            boolean eof = false;
            while (!eof) {
                Kunde neuerKU = (Kunde) oin.readObject();
                neuerKU.display();
                
            }
            oin.close();
        } catch (EOFException e) {
            System.out.println("Dateiende!");
        } catch (FileNotFoundException e) {
            System.out.println("FNF EXC");
        } catch (IOException e) {
            System.out.println("IO EXC");
        } catch (ClassNotFoundException e) {
            System.out.println("CNF EXC");
        }finally {
            System.out.println("ende ");
        }
      neuerKunde.display();
   }

   /*
    * Methode soll in der Gui verwendet werden
    * muss noch gespeichert und serialisiert werden
   */
   public void mitarbeiterAnlegen(String vorname, String name,
           int bearbeiterNummer, String email, int berechtigungen,
           String geburtsdatum){
       Mitarbeiter neuerMitarbeiter = new Mitarbeiter(vorname, name,
               bearbeiterNummer, email, berechtigungen, geburtsdatum);
       try {
            ObjectOutputStream oout = new ObjectOutputStream( new BufferedOutputStream(new FileOutputStream("Mitarbeiter.dat")));
            oout.writeObject(neuerMitarbeiter);
            oout.close();
            ObjectInputStream oin = new ObjectInputStream(new BufferedInputStream(
                    new FileInputStream("Mitarbeiter.dat")));
            boolean eof = false;
            while (!eof) {
                Mitarbeiter neuerMA = (Mitarbeiter) oin.readObject();
                neuerMA.display();
            }
            oin.close();
        } catch (EOFException e) {
            System.out.println("Dateiende!");
        } catch (FileNotFoundException e) {
            System.out.println("FNF EXC");
        } catch (IOException e) {
            System.out.println("IO EXC");
        } catch (ClassNotFoundException e) {
            System.out.println("CNF EXC");
        }finally {
            System.out.println("ende ");
        }
       neuerMitarbeiter.display();
   }
   
   /*
    * bucht Barzahlungen in Buchungen
    * weitere Ausarbeitung muss noch folen
    */
   
   public void barzahlungen (int betrag){
       Buchungen neueBuchung = new Buchungen(betrag, new Mitarbeiter(), new Kunde());
       
   }
}
